/**
 * 
 */
package org.cmcc.pcap.packet.util;

/**
 * @Date 2018年4月18日 上午9:37:21
 * @author Amish
 */
public class UriUtils {
	
/**
 * Java中：
 * URL 的语法由此文档定义：RFC 2396:Uniform Resource Identifiers (URI):Generic Syntax；
 * 在此文件中对其内容又进行了修正：RFC 2732:Format for Literal IPv6 Addresses in URLs。
 * 字面值 IPv6 地址格式还支持 scope_id。scope_id 的语法和用法在Inet6Address中进行了描述。 
 * 
 * Windows文件/文件夹字符：
 * 
 * Linux文件/文件夹字符：
 * 通常情况下，文件名的字符包括：字母、数字、"."(点)、"_"(下划线)和"-"(连字符)。
 * Linux 的命令解释器（shell）中有特殊的含义。这样的转意字符有："?"(问号),"*"(星号), " "(空格), "$"(货币符), "&", 扩号等等。在文件名中应尽量避免使用这些字符。
 * 文件名中可以有" "(空格)，但建议用户用"_"(下划线)来替代。
 * "/" 既可代表目录树的根也可作为路径名中的分隔符（类似DOS下的"\），因此"/"不能出现在文件名中。
 * "." 和 ".." 分别用来表示"当前目录"和"父目录", 因此它们也不能作为文件名。
 */

	/**
	 * RFC3986
	 * 
	 * (1)Percent-Encoding:
	 * pct-encoded = "%" HEXDIG HEXDIG
	 * (2)Reserved Characters:
	 * reserved = gen-delims / sub-delims
	 * gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
	 * sub-delims = "!" / "$" / "&" / "’" / "(" / ")"
	 *                           / "*" / "+" / "," / ";" / "="                        
	 * (3)Unreserved Characters:
	 * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "?
	 * 
	 * 
	 * 
	 * 
	 */
	

	/**
	 * only for test
	 */
	public static void main(String[] args) {
		String pathuser = System.getProperty("user.dir");
		System.out.println(pathuser);
		String testFile = pathuser + "/$&+=";
		System.out.println(testFile);
		System.out.println(UriUtils.class.getResource("/"));
		System.out.println(UriUtils.class.getResource("/=$&+=; #"));

	}

}
